import axios  from "axios";
import {useUserStore} from "@/stores/userStore";

//axios基础封装
const httpInstance=axios.create({
    baseURL:"http://localhost:8081",
    timeout:5000,
})

// 拦截器

// 请求拦截器
httpInstance.interceptors.request.use((config)=>{
        // 所有axios请求，都会在请求头中加入token值，与后端satoken配合，完成前后端分离
        // 不用管什么LocaStorage了，直接用pinia管理token数据并获取获取
        const userStore=useUserStore();
        const token=userStore.userToken;
        // 2、配置请求头，是json
        config.headers.Accept='application/json';
        // 3、如果userStore.userInfo不为空
        if (token){
            // 记住，这个['token']中的token，应该与springboot中satoken的配置文件中的yml文件token名字相同
            config.headers['token']=token
        }
        return config;
    },
    e=>{
        return Promise.reject(e);
    }
)

// 响应拦截器

httpInstance.interceptors.response.use(res=>{
        return res.data;
    },
    e=>{
        return Promise.reject(e)
    }
)

export default httpInstance;